package com.kabao.javafx.fontdemo;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.Region;
import javafx.scene.shape.SVGPath;
import javafx.stage.Stage;

public class FxSvgFontApp extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        SVGPath svgPath = new SVGPath();
        svgPath.setContent("M606.63 26.43 l-3.66 -16.47 q0 -12.81 10.98 -9.15 l25.62 9.15 q14.63 5.49 39.33 13.73 q24.7 8.23 52.14 15.55 q27.44 7.31 54.89 12.8 q27.45 5.49 45.75 5.49 q49.39 3.66 34.76 38.42 q-20.13 27.45 -30.19 76.85 q-10.06 49.4 -10.06 106.11 q0 58.55 8.23 109.78 q8.23 51.23 19.21 93.31 q7.32 34.77 14.64 55.81 q7.32 21.04 14.63 34.76 q7.32 13.72 15.55 21.96 q8.24 8.24 19.21 15.56 l-1.83 0 l42.08 25.61 l0 -1.83 q16.47 7.32 26.53 14.64 q10.06 7.32 13.72 10.98 q1.83 1.82 1.83 5.48 q0 3.66 0 5.49 q-1.83 3.66 -10.98 20.13 q-20.12 34.76 -42.08 72.27 q-21.95 37.51 -43.91 72.27 q-3.66 5.49 -5.49 8.24 q-1.83 2.75 0 -0.91 l-23.78 43.91 q-3.66 5.49 -7.32 5.49 q-3.66 0 -5.49 -3.66 q-10.98 -14.64 -30.19 -37.51 q-19.21 -22.87 -40.25 -44.82 q-21.04 -21.96 -40.25 -41.16 q-19.21 -19.21 -28.36 -26.53 l-25.62 -31.1 l-100.63 75.01 q1.83 -3.66 -10.06 6.4 q-11.89 10.07 -17.38 13.73 q-56.72 42.08 -96.97 67.69 q-40.25 25.62 -56.72 31.1 q-3.66 -1.82 -30.19 -21.95 q-26.53 -20.13 -61.29 -54.89 l1.83 0 q-32.93 -23.78 -53.97 -39.33 q-21.04 -15.56 -41.16 -25.62 q-20.13 -10.06 -44.82 -19.21 q-24.7 -9.15 -63.13 -23.79 q-78.67 -27.44 -102.45 -42.99 q-23.79 -15.55 -18.29 -35.68 q1.83 -12.81 20.13 -48.48 q18.3 -35.68 45.75 -83.25 l-1.83 0 q14.63 -32.94 32.02 -77.77 q17.38 -44.82 36.59 -95.14 q19.21 -50.31 37.5 -102.45 q18.29 -52.14 32.94 -101.54 l9.14 -21.96 l-1.82 1.83 q9.14 -31.1 17.38 -48.49 q8.24 -17.38 30.19 -17.38 q14.63 0 42.99 7.32 q28.36 7.32 70.44 18.3 l23.79 7.32 q210.4 53.06 228.7 40.25 q0 -14.64 -4.57 -40.25 q-4.58 -25.62 -13.73 -45.73 l0 -3.66 ZM335.85 465.54 q0 -1.83 1.83 -3.66 l-1.83 3.66 ZM500.51 299.04 q-1.83 0 -3.65 -0.92 q-1.83 -0.92 -3.66 -0.92 q-38.43 -10.98 -60.38 -10.98 q-20.13 0 -27.44 14.64 q-7.31 14.64 -21.95 51.23 l0 1.83 l-45.74 109.78 l-1.83 1.83 l-9.15 20.12 l1.83 0 l-5.49 14.64 q-14.64 25.61 -25.62 48.48 q-10.97 22.87 -12.8 33.85 q14.64 10.98 43.91 14.64 q10.98 1.83 45.74 9.14 q34.76 7.32 69.53 16.47 q1.83 0 2.74 0.92 q0.92 0.91 4.57 0.91 q3.66 0 10.98 3.66 q3.66 0 10.06 1.83 q6.41 1.83 10.07 1.83 q12.81 1.83 26.53 1.83 q13.72 0 17.38 -3.66 l10.98 -20.12 l21.95 -42.09 l27.45 -53.05 l-1.83 0 q10.97 -29.28 20.12 -59.47 q9.15 -30.19 13.73 -55.8 q4.57 -25.61 5.49 -44.82 q0.91 -19.22 -2.75 -26.54 q-9.15 -3.65 -34.76 -9.14 q-25.62 -5.49 -58.54 -10.98 l-27.45 -9.15 Z");

        //不推荐使用，会变形
        //        svgPath.setScaleX(0.1);
//        svgPath.setScaleY(0.1);

        //使用region控制大小，默认是透明
        Region region = new Region();
        //设置css
        region.setStyle("-fx-background-color: linear-gradient(from 0.0% 0.0% to 100.0% 0.0%, #1c85ed 0.0%, #ad0ded 100.0%)");
        region.setPrefSize(100,100);
        region.setShape(svgPath);

        AnchorPane root = new AnchorPane();
        root.getChildren().add(region);
        primaryStage.setScene(new Scene(root, 500, 500));
        primaryStage.setTitle("Fx Font svg");
        primaryStage.show();
    }
}
